home *** CD-ROM | disk | FTP | other *** search
- /* $Revision Header *** Header built automatically - do not edit! ***********
- *
- * (C) Copyright 1991 by Metalworx
- *
- * Name .....: zeit_angabe.c
- * Created ..: Fri 18-Oct-91 10:58
- * Revision .: 0
- *
- * Date Author Comment
- * ========= ======== ====================
- * 18-Oct-91 Mtwx Created this file!
- *
- * $Revision Header ********************************************************/
- #define REVISION 0
-
- /***************************************************************************
- * zeit_angabe.c: berechnet aus der Startzeit und der aktuellen Zeit eine *
- * Zeit, die das voraussichtliche Ende des Zeichenvorgangs *
- * errechnet. Wird nach jedem Atom neu berechnet *
- ***************************************************************************/
-
- /* ------------------------------- includes ----------------------------- */
-
- #include <math.h>
- #include <stdio.h>
- #include <proto/intuition.h>
-
- #include <mtwx_defs.h>
-
- #include "messages.h"
- #include "zeit_angabe.h"
- #include "chem_defs.h"
-
- /* ------------------------------- global references -------------------- */
-
- struct Window *timewin;
-
- /* ------------------------------- external references ------------------ */
-
- extern int HEIGHT,atomanz;
- extern long conwin;
- extern ATOMTYP *a[];
-
- extern struct Screen *FirstScreen;
-
- /* ------------------------------- prototypes --------------------------- */
-
- extern void SimpleRequest(char *,...);
-
- /* ------------------------------- routines ----------------------------- */
-
- void zeit_angabe(int n,long stime, long ntime)
- {
- int i,rsumme=0,rschnitt;
- long vtime,etime;
- char line1[36],line2[36];
-
- vtime=ntime-stime;
- sprintf(line1,"Atom %2s: %03d/%03d %s: %03d.%02d min",a[n]->name,n,
- atomanz,TIME_TEXT1,vtime/60,vtime%60);
- for(i=1;i<=n;i++)
- rsumme+=(int)(PI*a[i]->r*a[i]->r);
- rschnitt=rsumme/n;
- rsumme=0;
- if(n<atomanz)
- {
- for(i=n+1;i<=atomanz;i++)
- rsumme+=(int)(PI*a[i]->r*a[i]->r);
- }
- etime=(int)((rsumme/(float)rschnitt)*(vtime/n)+vtime);
- sprintf(line2,"%s: %03d.%02d min",TIME_TEXT2,etime/60,etime%60);
- Print(timewin,line1,2,0,8,19);
- Print(timewin,line2,2,0,8,27);
- }
-
- BOOL prepare_zeitinfo(atomanz)
- {
- ZeitFenster.Screen=FirstScreen;
- if(!(timewin=OpenWindow(&ZeitFenster)))
- {
- DisplayBeep(0L);
- WrConWin(conwin,NO_TIME_WIN);
- SimpleRequest(NO_TIME_WIN);
- return FALSE; /* Fehler! */
- }
- Print(timewin,TIME_TEXT3,2,0,8,19);
- return TRUE;
- }
-
-